#include "mywidget.h"
#include "ui_mywidget.h"
#include<QDebug>
MyWidget::MyWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyWidget)
{
    ui->setupUi(this);

    myTimer = new QTimer(this);

    connect(myTimer,&QTimer::timeout,this,&MyWidget::dealTimeout);

    myThread = new MyThread(this);

    connect(myThread,&MyThread::isDone,this,&MyWidget::dealDone);

    //当关闭窗口时触发destroyed信号，实现线程关闭
    connect(this,&MyWidget::destroyed,this,&MyWidget::stopThread);
}

MyWidget::~MyWidget()
{
    delete ui;
}

void MyWidget::dealTimeout()
{
    static int i = 0;
    i++;

    ui->lcdNumber->display(i);
}
void MyWidget::on_pushButton_clicked()
{
    if(myTimer->isActive() == false)
    {
        myTimer->start(100);
    }

//    //QThread::sleep(5);
//    myTimer->stop();

//    qDebug() << "over";

    //启动线程，处理数据
    myThread->start();
}

void MyWidget::dealDone()
{
    qDebug() << "overr";
    myTimer->stop();
}

void MyWidget::stopThread()
{
   myThread->quit();//停止进程
   myThread->wait();//等待线程处理完手头工作
}
